# TODO: 几种激活函数
# DATE: 2022/3/17
# AUTHOR: Cheng Ze WUST
import numpy as np
import matplotlib.pylab as plt

def jump_func1(x):
	if x>0: return 1
	else: return 0

print(jump_func1(0.6))

def jump_func2(x):	#阶跃函数
	y=x>0
	return y.astype(np.int32)

x=np.array([-1,0.5,1])
print(jump_func2(x))

x=np.arange(-5.0,5.0,0.1)
print(x)
y1=jump_func2(x)
print(y1)
# plt.plot(x,y1)
# plt.ylim(-0.1,1.1)
# plt.show()

def sigmoid(x):	#sigmoid函数
	return 1/(1+np.exp(-x))

print (sigmoid(x))
y2=sigmoid(x)


def relu(x):	#ReLU函数
	return np.maximum(0,x)
print(relu(20))
print(relu(-20))
y3=relu(x)


def tanh(x):	#Tanh函数
	return (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
y4=tanh(x)

plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(x,y3)
plt.plot(x,y4)
plt.ylim(-0.1,1.1)
plt.show()
